
using Abp.Application.Services.Dto;
using System;

namespace SOEI.Solution.DomainEntities.ContractManagement.Dtos
{
    /// <summary>
    /// Contract的列表DTO
    /// <see cref=""/>
    /// </summary>
    public class ContractListDto : EntityDto<string>
    {
        #region -------------------------------------------------实体属性---------------------------------------------- 

        /// <summary> 合同登记号ID
        /// </summary>
        public string ContractRegistrationId { get; set; }

        /// 房屋单价
        public decimal? HouseUnitPrice { get; set; }

        /// 房屋总价
        public decimal? HousePrice { get; set; }

        /// 合同份数
        public decimal? ContractCopies { get; set; }

        /// 经办人
        public string Transactor { get; set; }

        /// 合同状态代码
        public string ContractStatusId { get; set; }

        /// 录入时间
        public DateTime CreationTime { get; set; }

        /// 提交时间
        public DateTime? CommitTime { get; set; }

        /// 审核时间
        public DateTime? VerifyTime { get; set; }

        /// 房屋编号
        public string HouseId { get; set; }

        /// 代理人证件号码
        public string AgentIdNumber { get; set; }

        /// 代理人名称
        public string AgentName { get; set; }

        /// 合同类型代码
        public string ContractTypeCode { get; set; }

        /// 产权证号
        public string CertificateName { get; set; }

        /// 产权证编号
        public string CertificateCode { get; set; }

        /// <summary>
        /// 经纪机构编号
        /// </summary>
        public string BrokerageInstitutionId { get; set; }

        /// 经纪机构名称
        public string BrokerageInstitutionName { get; set; }

        /// 建筑面积
        public decimal BuildingArea { get; set; }

        /// 甲方密码
        public string PartyAPassword { get; set; }

        /// 乙方密码
        public string PartyBPassword { get; set; }

        /// 套内面积
        public decimal? RoomBuildingArea { get; set; }

        /// 分摊面积
        public decimal? ContributionArea { get; set; }

        /// 合同份数
        public decimal? ContractCount { get; set; }

        /// 经办人名称
        public string AttentionLine { get; set; }

        /// 房屋用途
        public string HouseUsage { get; set; }

        /// 房屋性质
        public string HouseProperty { get; set; }

        /// 合同签订平台，0为企业端，1为管理端
        public string SystemPlatform { get; set; } = "0";

        /// 不带多单的产权证号
        public string CertificateName_2 { get; set; }

        /// <summary> 委托合同编号
        /// </summary>
        public string EntrustmentContractId { get; set; }

        /// <summary> 合同办理状态代码
        /// </summary>
        public string ContractHandlingStatusCode { get; set; }

        /// <summary> 单价
        /// </summary>
        public decimal? UnitPrice { get; set; }

        /// <summary> 坐落信息
        /// </summary>
        public string LocatedInformation { get; set; }

        /// <summary> 付款方式代码
        /// </summary>
        public string PaymentMethodCode { get; set; }

        /// <summary> 合同有效天数
        /// </summary>
        public decimal ContractValidityDays { get; set; }

        /// <summary> 合同有效期
        /// </summary>
        public string HTYXQ { get; set; }

        /// 截止日期，存到日 YYYY-MM-DD
        public DateTime? PeriodTerminate { get; set; }

        /// 合同模型配置代码
        public string ContractModelConfigCode { get; set; }

        /// 04（老版）、02（经纪版）、03（自行交易版）
        public string ContractIdentification { get; set; }

        /// <summary> 出卖人
        /// </summary>
        public string Seller { get; set; }

        /// <summary> 受买方
        /// </summary>
        public string Buyer { get; set; }

        public string SellerIdCardNumber { get; set; }

        /// <summary> 受买方
        /// </summary>
        public string BuyerIdCardNumber { get; set; }

        /// 是否抵押
        public string IsMortgage { get; set; }

        /// 上报标识
        //[Column("SBBZ")]
        public string SBBZ { get; set; }

        /// 是否复审 0：不需要 1：需要
        public string IsNeedRecheck { get; set; }

        /// 复审机构编号
        public string RecheckOrganizationId { get; set; }

        /// 复审机构名称
        public string RecheckOrganizationName { get; set; }

        /// 复审人编号
        public string RecheckPeopleId { get; set; }

        /// 复审人名称
        public string RecheckPeopleName { get; set; }

        /// 复审时间
        public DateTime? RecheckTime { get; set; }

        /// 合同归属机构编号
        public string ContractOwnerOrganizationId { get; set; }

        /// <summary> 不动产权证标识码
        /// </summary>
        public string ImmovablesWarrantIdCode { get; set; }

        #endregion

        #region -------------------------------------------------用户定义---------------------------------------------- 
        /* 这里创建自己的代码 */

        /// <summary> 合同状态
        /// </summary>
        public virtual ContractStatus ContractStatus { get; set; }

        #endregion

    }
}